/*
 * XML Type:  datastreamVersionType
 * Namespace: info:fedora/fedora-system:def/foxml#
 * Java type: fedora.fedoraSystemDef.foxml.DatastreamVersionType
 *
 * Automatically generated - do not modify.
 */
package fedora.fedoraSystemDef.foxml;


/**
 * An XML datastreamVersionType(@info:fedora/fedora-system:def/foxml#).
 *
 * This is a complex type.
 */
public interface DatastreamVersionType extends org.apache.xmlbeans.XmlObject
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
        org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(DatastreamVersionType.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sC7528FDBC807777C72FF586BF0D95C54").resolveHandle("datastreamversiontype30a1type");
    
    /**
     * Gets the "contentDigest" element
     */
    fedora.fedoraSystemDef.foxml.ContentDigestType getContentDigest();
    
    /**
     * True if has "contentDigest" element
     */
    boolean isSetContentDigest();
    
    /**
     * Sets the "contentDigest" element
     */
    void setContentDigest(fedora.fedoraSystemDef.foxml.ContentDigestType contentDigest);
    
    /**
     * Appends and returns a new empty "contentDigest" element
     */
    fedora.fedoraSystemDef.foxml.ContentDigestType addNewContentDigest();
    
    /**
     * Unsets the "contentDigest" element
     */
    void unsetContentDigest();
    
    /**
     * Gets the "xmlContent" element
     */
    fedora.fedoraSystemDef.foxml.XmlContentType getXmlContent();
    
    /**
     * True if has "xmlContent" element
     */
    boolean isSetXmlContent();
    
    /**
     * Sets the "xmlContent" element
     */
    void setXmlContent(fedora.fedoraSystemDef.foxml.XmlContentType xmlContent);
    
    /**
     * Appends and returns a new empty "xmlContent" element
     */
    fedora.fedoraSystemDef.foxml.XmlContentType addNewXmlContent();
    
    /**
     * Unsets the "xmlContent" element
     */
    void unsetXmlContent();
    
    /**
     * Gets the "contentLocation" element
     */
    fedora.fedoraSystemDef.foxml.ContentLocationType getContentLocation();
    
    /**
     * True if has "contentLocation" element
     */
    boolean isSetContentLocation();
    
    /**
     * Sets the "contentLocation" element
     */
    void setContentLocation(fedora.fedoraSystemDef.foxml.ContentLocationType contentLocation);
    
    /**
     * Appends and returns a new empty "contentLocation" element
     */
    fedora.fedoraSystemDef.foxml.ContentLocationType addNewContentLocation();
    
    /**
     * Unsets the "contentLocation" element
     */
    void unsetContentLocation();
    
    /**
     * Gets the "binaryContent" element
     */
    byte[] getBinaryContent();
    
    /**
     * Gets (as xml) the "binaryContent" element
     */
    org.apache.xmlbeans.XmlBase64Binary xgetBinaryContent();
    
    /**
     * True if has "binaryContent" element
     */
    boolean isSetBinaryContent();
    
    /**
     * Sets the "binaryContent" element
     */
    void setBinaryContent(byte[] binaryContent);
    
    /**
     * Sets (as xml) the "binaryContent" element
     */
    void xsetBinaryContent(org.apache.xmlbeans.XmlBase64Binary binaryContent);
    
    /**
     * Unsets the "binaryContent" element
     */
    void unsetBinaryContent();
    
    /**
     * Gets the "ID" attribute
     */
    java.lang.String getID();
    
    /**
     * Gets (as xml) the "ID" attribute
     */
    fedora.fedoraSystemDef.foxml.IdType xgetID();
    
    /**
     * Sets the "ID" attribute
     */
    void setID(java.lang.String id);
    
    /**
     * Sets (as xml) the "ID" attribute
     */
    void xsetID(fedora.fedoraSystemDef.foxml.IdType id);
    
    /**
     * Gets the "LABEL" attribute
     */
    java.lang.String getLABEL();
    
    /**
     * Gets (as xml) the "LABEL" attribute
     */
    org.apache.xmlbeans.XmlString xgetLABEL();
    
    /**
     * True if has "LABEL" attribute
     */
    boolean isSetLABEL();
    
    /**
     * Sets the "LABEL" attribute
     */
    void setLABEL(java.lang.String label);
    
    /**
     * Sets (as xml) the "LABEL" attribute
     */
    void xsetLABEL(org.apache.xmlbeans.XmlString label);
    
    /**
     * Unsets the "LABEL" attribute
     */
    void unsetLABEL();
    
    /**
     * Gets the "CREATED" attribute
     */
    java.util.Calendar getCREATED();
    
    /**
     * Gets (as xml) the "CREATED" attribute
     */
    org.apache.xmlbeans.XmlDateTime xgetCREATED();
    
    /**
     * True if has "CREATED" attribute
     */
    boolean isSetCREATED();
    
    /**
     * Sets the "CREATED" attribute
     */
    void setCREATED(java.util.Calendar created);
    
    /**
     * Sets (as xml) the "CREATED" attribute
     */
    void xsetCREATED(org.apache.xmlbeans.XmlDateTime created);
    
    /**
     * Unsets the "CREATED" attribute
     */
    void unsetCREATED();
    
    /**
     * Gets the "MIMETYPE" attribute
     */
    java.lang.String getMIMETYPE();
    
    /**
     * Gets (as xml) the "MIMETYPE" attribute
     */
    org.apache.xmlbeans.XmlString xgetMIMETYPE();
    
    /**
     * Sets the "MIMETYPE" attribute
     */
    void setMIMETYPE(java.lang.String mimetype);
    
    /**
     * Sets (as xml) the "MIMETYPE" attribute
     */
    void xsetMIMETYPE(org.apache.xmlbeans.XmlString mimetype);
    
    /**
     * Gets the "ALT_IDS" attribute
     */
    @SuppressWarnings({ "rawtypes" })
	java.util.List getALTIDS();
    
    /**
     * Gets (as xml) the "ALT_IDS" attribute
     */
    fedora.fedoraSystemDef.foxml.UriListType xgetALTIDS();
    
    /**
     * True if has "ALT_IDS" attribute
     */
    boolean isSetALTIDS();
    
    /**
     * Sets the "ALT_IDS" attribute
     */
    @SuppressWarnings("rawtypes")
	void setALTIDS(java.util.List altids);
    
    /**
     * Sets (as xml) the "ALT_IDS" attribute
     */
    void xsetALTIDS(fedora.fedoraSystemDef.foxml.UriListType altids);
    
    /**
     * Unsets the "ALT_IDS" attribute
     */
    void unsetALTIDS();
    
    /**
     * Gets the "FORMAT_URI" attribute
     */
    java.lang.String getFORMATURI();
    
    /**
     * Gets (as xml) the "FORMAT_URI" attribute
     */
    org.apache.xmlbeans.XmlAnyURI xgetFORMATURI();
    
    /**
     * True if has "FORMAT_URI" attribute
     */
    boolean isSetFORMATURI();
    
    /**
     * Sets the "FORMAT_URI" attribute
     */
    void setFORMATURI(java.lang.String formaturi);
    
    /**
     * Sets (as xml) the "FORMAT_URI" attribute
     */
    void xsetFORMATURI(org.apache.xmlbeans.XmlAnyURI formaturi);
    
    /**
     * Unsets the "FORMAT_URI" attribute
     */
    void unsetFORMATURI();
    
    /**
     * Gets the "SIZE" attribute
     */
    long getSIZE();
    
    /**
     * Gets (as xml) the "SIZE" attribute
     */
    org.apache.xmlbeans.XmlLong xgetSIZE();
    
    /**
     * True if has "SIZE" attribute
     */
    boolean isSetSIZE();
    
    /**
     * Sets the "SIZE" attribute
     */
    void setSIZE(long size);
    
    /**
     * Sets (as xml) the "SIZE" attribute
     */
    void xsetSIZE(org.apache.xmlbeans.XmlLong size);
    
    /**
     * Unsets the "SIZE" attribute
     */
    void unsetSIZE();
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType newInstance() {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        /** @param xmlAsString the string value to parse */
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); }
        
        /** @param file the file from which to load an xml document */
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static fedora.fedoraSystemDef.foxml.DatastreamVersionType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (fedora.fedoraSystemDef.foxml.DatastreamVersionType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
